﻿/*-----| (c) 2016 alogis ag / beat schaub |------------------------------------------------------------------------------------------------------------- */
@charset "utf-8";
/*-----| General Definitions              |------------------------------------------------------------------------------------------------------------- */
*														{ margin: 0; padding: 0; box-sizing: border-box; color: inherit; font-size: inherit; font-family: inherit; }
main													{ display: block; }
table													{ border-spacing: 0; border-collapse: collapse; border: none; }
table, td											{ border-box; vertical-align: top; }
a > img												{ border: none; outline: none; }
section > h6										{ display: none; }

.mobile												{ display: none; }
@media screen and (max-width: 640px) {
	.mobile											{ display: block; }
	.desktop											{ display: none; }
}
/*-----| End General Definitions          |------------------------------------------------------------------------------------------------------------- */
/*-----| Flex-Boxes                       |------------------------------------------------------------------------------------------------------------- */
.flex_box.art.art_50000							{ padding: 0; margin: 0 -15px; width: auto !important; }
@media screen and (max-width: 640px) {
.flex_box.art.art_50000							{ padding: 0 15px; margin: 0; }
}

/*.flex_container									{ display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; padding: 15px; }*/
.flex_container									{ display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; padding: 0; }
.flex_container.flex_container_center		{ justify-content: center; }
.flex_container.flex_container_no_padding	{ padding: 0; }
.flex_container.flex_container_cms			{ padding: 0; }
.flex_box											{ margin: 0; padding: 15px; }
.flex_box_diffrent									{ margin: 0 15px; padding: 15px 0; }
.flex_box.flex_box_no_padding					{ padding: 0; }
.flex_box.flex_box_empty						{ margin: 0 !important; padding: 0 !important; border: none !important; background: 0 !important; }
.flex_container_cms .flex_box					{ padding: 20px 20px 0 20px; }
.flex_box img										{ width: 100%; }
.flex_box_diffrent img								{ width: 100%; }
.flex_box_12										{ width:  12.500% }
.flex_box_16										{ width:  16.666% }
.flex_box_33										{ width:  33.333% }
.flex_box_diffrent_33								{ width: calc(33.333% - 30px); }
.flex_box_66										{ width:  66.666% }
.flex_box_83										{ width:  83.333% }
.flex_box_25										{ width:  25.000% }
.flex_box_50										{ width:  50.000% }
.flex_box_75										{ width:  75.000% }
.flex_box_100										{ width: 100.000% }

@media screen and (min-width: 641px) and (max-width: 959px) {
	.flex_box_12									{ width:  25.000% }
	.flex_box_16									{ width:  33.333% }
	.flex_box_33									{ width:  50.000% }
	.flex_box_diffrent_33						{ width: calc(50.000% - 30px); }
	.flex_box_66									{ width: 100.000% }
	.flex_box_83									{ width: 100.000% }
	.flex_box_25									{ width:  50.000% }
	.flex_box_50									{ width: 100.000% }
	.flex_box_75									{ width: 105.000% }
	.flex_vanish 									{ display: none; }
}

@media screen and (max-width: 640px) {
	.flex_box_12									{ width:  50.000% }
	.flex_box_16									{ width:  50.000% }
	.flex_box_33									{ width: 100.000% }
	.flex_box_diffrent_33							{ width: calc(100.000% - 30px); }
	.flex_box_66									{ width: 100.000% }
	.flex_box_83									{ width: 100.000% }
	.flex_box_25									{ width: 100.000% }
	.flex_box_50									{ width: 100.000% }
	.flex_box_75									{ width: 105.000% }
	.flex_vanish 									{ display: none; }
}

/*-----| End Flex-Boxes                   |------------------------------------------------------------------------------------------------------------- */
/*-----| Form Elemetns & Buttons          |------------------------------------------------------------------------------------------------------------- */
.b1													{ position: relative; display: block; width: 100%; padding: 13px; border: 2px solid #95bc3a; font-size: 21px; line-height: 30px; text-align: center; background: #ffffff; color: #95bc3a; outline: none; cursor: pointer; }
.b1.current,
.b1:hover											{ background: #95bc3a; color: #ffffff; }
.b2													{ position: relative; display: block; width: 100%; padding: 15px; font-size: 21px; line-height: 30px; text-align: center; background: #ecf2cf; color: #7a7e82; border: none; outline: none; cursor: pointer; }
.b2.current,
.b2:hover											{ background: #95bc3a; color: #ffffff; }
.b2.sort												{ padding: 15px 90px; }
.b2.sort:after										{ display: block; content: "\f078"; position: absolute; right: 0; top: 20px; line-height: 20px; width: 90px; text-align: center; font-family: "FontAwesome"; }
.b2.sort.sort_reverse:after					{ content: "\f077"; }
button.next:after 								{ display: block; content: ""; position: absolute; top: 0px; right: 10px; width: 30px; height: 20px; background: url("/pages/img/svg/icons/grey/link-thin-right-grey.svg") no-repeat center; background-size: cover; margin-top: 20px; }
button.next:hover:after 						{ background: url("/pages/img/svg/icons/white/link-thin-right-white.svg") no-repeat center; }
button.prev:after 								{ display: block; content: ""; position: absolute; top: 0px; left: 10px; width: 30px; height: 20px; background: url("/pages/img/svg/icons/green/link-thin-left-green.svg") no-repeat center; background-size: cover; margin-top: 20px; }
button.prev:hover:after 						{ background: url("/pages/img/svg/icons/white/link-thin-left-white.svg") no-repeat center; }

.l1													{ font-size: 21px; color: #7a7e82; cursor: pointer; }
.l1:hover											{ color: #95bc3a; }
.l2													{ font-size: 18px; color: #7a7e82; cursor: pointer; }
.l2:hover											{ color: #95bc3a; }

main input											{ width: 100%; padding: 5px 15px; height: 38px; line-height: 26px; font-size: 18px; color: #7a7e82; border: 1px solid #e1e1e1; }
main textarea										{ width: 100%; padding: 5px 15px; height: 142px; line-height: 26px; font-size: 18px; color: #7a7e82; border: 1px solid #e1e1e1; }
.flex_box_zip										{ width: 15%; padding-right: 5px !important; }
.flex_box_city										{ width: 85%; }

.infobox												{ position: relative; padding: 25px 0 25px 15px; border-left: 45px solid #a3b2c2; background: rgba( 163,178,194,0.2 ); }
.infobox:after										{ display: block; content: ""; position: absolute; left: -35px; top: 15px; bottom: 15px; width: 25px; background: url("/pages/img/info_white.svg") no-repeat center; background-size: contain; }

/*-----| End Form Elemetns & Buttons      |------------------------------------------------------------------------------------------------------------- */
.btn 													{ cursor: pointer; display: inline-block; padding: 7px 16px; text-decoration: none; vertical-align: middle; -webkit-transform: perspective(1px) translateZ(0); transform: perspective(1px) translateZ(0); box-shadow: 0 0 1px transparent; overflow: hidden; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-property: color, background-color; transition-property: color, background-color; }
a.btn:hover,
a.btn:active,
a.btn:focus 										{ text-decoration: none; }
.btn-white 											{ background-color: #fff; color: black; }
.btn-white:hover,
.btn-white:active,
.btn-white:focus 									{ background-color: #7a7e82; color: white; }



/*-----| Shadowbox										|--------------------------------------------------------------------------------------------------------------*/
body.cmsShadow												{ overflow: hidden; }
#cmsShadow													{ display: none; justify-content: center; align-content: center; position: fixed; z-index: 100000000; left: 0; top: 0; right: 0; bottom: 0; padding: 0; background: rgba( 0,0,0,0.6 ); }
body.cmsShadow #cmsShadow								{ display: flex; }

#cmsShadowContainer										{ position: relative; width: 300px; background: #ffffff; }


#cmsShadowHeader											{ padding: 0 46px 0 20px; height: 36px; background: #0099CC; color: #ffffff; line-height: 36px; }
#cmsShadowBody												{ padding: 20px; background: #ffffff; }
#cmsShadowFooter											{ padding: 10px 20px; background: #f0f0f0; }





#cmsShadowClose											{ position: absolute; z-index: 2; right: 0; top: 0; width: 36px; height: 36px; cursor: pointer; }
#cmsShadowBox												{ position: relative; z-index: 1; }

#cmsShadowClose:hover									{ background: #f00000; }
#cmsShadowClose:after									{ display: block; content: "\f00d"; position: absolute; left: 0; top: 0; right: 0; bottom: 0; line-height: 36px; text-align: center; color: #ffffff; font-size: 18px; font-weight: 300; font-family: "FontAwesome"; }
/*-----| Toast												|--------------------------------------------------------------------------------------------------------------*/
#cmsToast													{ position: fixed; z-index: 10000000; right: 50px; top: 50px; max-width: 33vW; padding: 20px 20px 24px 60px; background: rgba( 0,0,0,0.8 ); color: #ffffff; }
#cmsToast:after											{ display: block; content: ""; position: absolute; left: 15px; top: 50%; width: 30px; height: 30px; margin: -15px 0 0 0; line-height: 30px; text-align: center; font-size: 25px; color: #ffffff; font-family: "FontAwesome"; }
#cmsToast:before											{ display: block; content: "\f00d"; position: absolute; right: 0; top: 0; width: 20px; height: 20px; line-height: 20px; text-align: center; font-size: 16px; color: #ffffff; font-family: "FontAwesome"; }
#cmsToast:hover:before									{ background: #f00000; }
#cmsToast div												{ position: absolute; left: 0; bottom: 0; right: 0; height: 4px; overflow: hidden; }
#cmsToast div:after										{ display: block; content: ""; position: absolute; left: -100%; bottom: 0; width: 100%; height: 4px; transition: left 5s; }
#cmsToast.loaded div:after								{ left: 0; }

#cmsToast.error:after									{ content: "\f071"; }
#cmsToast.error div:after								{ background: #f00000; }
#cmsToast.success:after									{ content: "\f058"; }
#cmsToast.success div:after							{ background: #00C000; }
/*-----| Inline											|--------------------------------------------------------------------------------------------------------------*/
.msg_box														{ display: none; position: relative; padding: 5px 20px; margin: 0 0 20px 0; border-style: solid; border-width: 1px 1px 1px 20px; }
.msg_box:after												{ display: block; position: absolute; left: -20px; top: 50%; width: 20px; height: 20px; margin: -10px 0 0 0; line-height: 20px; text-align: center; font-size: 20px; color: #ffffff; font-family: "FontAwesome"; }
.msg_box.msg_box_show									{ display: block; }
.msg_box_info												{ border-color: #417CAB; background: #F0F8FE; }
.msg_box_info:after										{ content: "\f129"; }
.msg_box_error												{ border-color: #950000; background: #f00000; color: #ffffff; }
.msg_box_error:after										{ content: "\f12a"; }
.msg_box_success											{ border-color: #45CD4E; background: #C5F8C8; }
.msg_box_success:after									{ content: "\f00c"; }


/*-----| BlockUI											|--------------------------------------------------------------------------------------------------------------*/
.blockUI.blockMsg											{ border: none !important; background: none !important; }
/*-----| END MESSAGES & OVERLAY						|--------------------------------------------------------------------------------------------------------------*/
.w100p { width: 100%; }
.cr_button {
    background-color: #333;
    color: #fff;
    display: inline-block;
    font-family: 'Helvetica',Arial,sans-serif;
    white-space: nowrap;
    height: 32px;
    margin: 5px 5px 0 0;
    padding: 0 22px;
    text-decoration: none;
    text-align: center;
    font-weight: bold;
    font-style: normal;
    font-size: 15px;
    line-height: 32px;
    cursor: pointer;
    border: 0;
    -moz-border-radius: 4px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    vertical-align: top;
}

.cr_ipe_item input {
	background: none repeat scroll 0 0 #eee;
	border: 1px solid #aaa;
	padding: 5px;
	font-family: Helvetica;
	font-size: 16px;
}
